#pragma once


#include "ScriptCompiler/AST/ExpressionNode.h"

class CScriptToken;

class CMonocularOperatorNode : public CExpressionNode
{
public:
    CMonocularOperatorNode(std::weak_ptr<CScriptFileContext> InFile)
        : CExpressionNode(InFile, EASTNodeType::MonocularOperator)
    {
    }

    //operator
    std::shared_ptr<CScriptToken> Operator;

    //is oeprator at right of operand
    bool bRight = false;

    //operand
    std::shared_ptr<CExpressionNode> Operand;

    virtual void DebugPrint(int32_t InDepth) override;

    virtual std::shared_ptr<CScriptToken> GetFirstToken() override;

};